]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
panel: Add keybinding mode for top bar popups and use it
authorFlorian Müllner <fmuellner@gnome.org>
Fri, 26 Apr 2013 13:48:36 +0000 (15:48 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Fri, 26 Apr 2013 15:32:53 +0000 (17:32 +0200)
Allow some keybindings to still work while a top bar menu is open
by assigning it a keybinding mode.

https://bugzilla.gnome.org/show_bug.cgi?id=698938

js/ui/panel.js
src/shell-keybinding-modes.h

index 332be12b137b9c0b8156d7d62d60c37ebea74676..dd558af5fa3fef245c455c5aa5c0137d599e92d0 100644 (file)
@@ -958,7 +958,7 @@ const Panel = new Lang.Class({
 
         this.statusArea = {};
 
-        this.menuManager = new PopupMenu.PopupMenuManager(this);
+        this.menuManager = new PopupMenu.PopupMenuManager(this, { keybindingMode: Shell.KeyBindingMode.TOPBAR_POPUP });
 
         this._leftBox = new St.BoxLayout({ name: 'panelLeft' });
         this.actor.add_actor(this._leftBox);
index c9ba8dab99a775583c27cee17a9517fd338bc3f7..bc0b9b32bd9f84b49802fe448024b615f256dbc9 100644 (file)
@@ -15,6 +15,8 @@
  * @SHELL_KEYBINDING_MODE_SYSTEM_MODAL: allow keybinding when a system modal
  *     dialog (e.g. authentification or session dialogs) is open
  * @SHELL_KEYBINDING_MODE_LOOKING_GLASS: allow keybinding in looking glass
+ * @SHELL_KEYBINDING_MODE_TOPBAR_POPUP: allow keybinding while a top bar menu
+ *     is open
  * @SHELL_KEYBINDING_MODE_ALL: always allow keybinding
  *
  * Controls in which GNOME Shell states a keybinding should be handled.
@@ -29,6 +31,7 @@ typedef enum {
   SHELL_KEYBINDING_MODE_MESSAGE_TRAY  = 1 << 5,
   SHELL_KEYBINDING_MODE_SYSTEM_MODAL  = 1 << 6,
   SHELL_KEYBINDING_MODE_LOOKING_GLASS = 1 << 7,
+  SHELL_KEYBINDING_MODE_TOPBAR_POPUP  = 1 << 8,
 
   SHELL_KEYBINDING_MODE_ALL = ~0,
 } ShellKeyBindingMode;